perm filename LOSS[COM,LSP]2 blob sn#840436 filedate 1987-05-25 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	(defclass point ()
C00004 ENDMK
CāŠ—;
(defclass point ()
    ((x :initform 0)
     (y :initform 0))
  (:init-args 
     (:eks :slotname x)
     (:why :slotname y)
     :rho
     :theta)

(defclass point ()
    ((x :initform 0)
     (y :initform 0)))

(defmethod initialize-instance 
 ((instance point) &key ((:eks x) nil x-supplied)
		        ((:why y) nil y-supplied)
			rho theta)
 (call-next-method)
 (when x-supplied (setf (x instance) x))
 (when y-supplied (setf (y instance) y)))

(defclass picture (point)
    (bitmap
     saved-bitmap)
  (:init-args
    (:y :default-value-form *screen-top*)
    (:image :slotname (bitmap saved-bitmap)))) 

(defmethod initialize-instance 
 ((instance picture) &key (y *screen-top*)
			  (image nil image-supplied))
 (call-next-method)
 (setf (y instance) y)
 (when image-supplied (setf (bitmap instance) image)
       		      (setf (saved-bitmap instance) image)))

(defun make-picture (&key (x (initform (class-named 'point) 'x))
			  (y (initform (class-named 'point) 'y))
			  (rho 0 rho-supplied)
			  (theta 0 theta-supplied)
 (let ((instance (allocate-instance (class-named 'picture))))
  (initialize-instance instance